﻿using System;
using System.IO;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Drawing.Imaging;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Configuration;
using SistemaPetShop.Negocio;
using System.Collections;


namespace SistemaPetShop.Forms
{
    
    public partial class cadAnimal : Form
    {
        
        private FileInfo caminhoArquivo;

        Animal animal = new Animal();

        public cadAnimal()
        {
            InitializeComponent();
        }

        private void _limpaTelaCadAnimal()
        {
            txtApelido.Text = "";
            txtValor.Text = "";
            cboPacote.Text = "";
            cboPelagem.Text = "";
            cboPorte.Text = "";
            cboRaca.Text = "";
            cboEspecie.Text = "";
            pictureBox1.ImageLocation = "0";
        }


        
        private void btnIncluirFoto_Click(object sender, EventArgs e)
        {
            openFileDialog1.ShowDialog();

            if (openFileDialog1.FileName != "")
            {
                caminhoArquivo = new FileInfo(openFileDialog1.FileName);
                pictureBox1.Load(openFileDialog1.FileName);
            }


        }



        private string _GravaFoto(int idAnimal)
        {
            string diretorio =  ConfigurationSettings.AppSettings.Get("diretorio").ToString();
            string dirDestino = Path.Combine(diretorio, idAnimal.ToString() + ".jpg");
            File.Copy(caminhoArquivo.ToString(), dirDestino.ToString(),true);
            return dirDestino;
        }



        public void carregaIdCliente(Int32 idCliente,String nome)
        {
            txtidCliente.Text = idCliente.ToString();
            txtNome.Text = nome;
        }


        private void btnSalvar_Click(object sender, EventArgs e)
        {
            string sexo;

            if (radioButtonFeminino.Checked == true)
            {
                sexo = "F";
            }
            else
            {
                sexo = "M";
            }

            bool ret = animal._InsereNovoAnimal(txtApelido.Text, cboRaca.Text, cboPorte.Text, cboPelagem.Text, cboPacote.Text, txtValor.Text,txtidCliente.Text,cboEspecie.Text,sexo);

            
            if (ret == true)
            {
                if (pictureBox1.Image == null || pictureBox1.ImageLocation == "0")
	            {
                    MessageBox.Show("Registro salvo com Sucesso");
                    _limpaTelaCadAnimal();
	            }
                else
                {
                    Int32 idFoto = animal._ConsultaIdAnimal();
                    string caminhoFoto = _GravaFoto(idFoto);
                    bool retFoto = true;
                    if (caminhoFoto != "0")
                    {
                        retFoto = animal._AtualizaCaminhoFoto(idFoto, caminhoFoto);                        
                    }
                    if (retFoto == true)
                    {
                        MessageBox.Show("Registro salvo com Sucesso");
                        _limpaTelaCadAnimal();
                    }
                    else
                    {
                        MessageBox.Show("Houve problema ao salvar o registro, se o problema persistir contato o Administrador do sistema");
                    }

                }
                    
            }
            else
            {
                MessageBox.Show("Houve problema ao salvar o registro, se o problema persistir contato o Administrador do sistema");
            }
        }

        private void btnCancelar_Click(object sender, EventArgs e)
        {
            if (MessageBox.Show("Deseja Cancelar essa Operação", "Aviso", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == System.Windows.Forms.DialogResult.Yes)
	        {
                _limpaTelaCadAnimal();
                MessageBox.Show("Operação Cancelada", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Information);
	        }


        }

        private void cadAnimal_FormClosed(object sender, FormClosedEventArgs e)
        {
        }
        
        private void _carregaComboRacaCachorro()
        {
            this.cboRaca.Items.Clear();
            this.cboRaca.Text = "";
            this.cboRaca.Items.AddRange(new object[] {
            "Alano Espanhol",
            "Airedale Terrier ",
            "American Staffordshire Terrier ",
            "American Water Spaniel ",
            "Antigo Cão de Pastor Inglês",
            "Basset Azul da Gasconha ",
            "Basset Fulvo da Bretanha",
            "Basset Hound ",
            "Beagle ",
            "Bearded Collie ",
            "Bichon Maltês ",
            "Bobtail ",
            "Border Collie ",
            "Boston Terrier ",
            "Boxer ",
            "Bull Terrier ",
            "Bullmastiff",
            "Bulldog ",
            "Cão de Montanha dos Pirinéus",
            "Caniche ",
            "Chihuahua",
            "Cirneco do Etna",
            "Chow Chow ",
            "Cocker Spaniel (Americano ou Inglês)",
            "Dálmata ",
            "Dobermann ",
            "Dogue Alemão",
            "Dogue Argentino",
            "Dogue Canário",
            "Fox Terrier ",
            "Foxhound",
            "Galgo",
            "Golden Retriever ",
            "Gos d\'Atura ",
            "Husky Siberiano",
            "Laika ",
            "Labrador Retriever\t",
            "Malamute-do-Alasca",
            "Mastin dos Pirenéus",
            "Mastin do Tibete",
            "Mastin Espanhol",
            "Mastín Napolitano",
            "Pastor Alemão",
            "Pastor Belga ",
            "Pastor de Brie",
            "Pastor dos Pirenéus de Cara Rosa ",
            "Pequinês",
            "Perdigueiro",
            "Pitbull ",
            "Podengo",
            "Pointer ",
            "Pug",
            "Rhodesian Ridgeback",
            "Rottweiler ",
            "Rough Collie",
            "Sabueso (Espanhol ou Italiano)",
            "Saluki",
            "Samoiedo ",
            "São Bernardo ",
            "Scottish Terrier ",
            "Setter Irlandés ",
            "Sem Raça Definida",
            "Shar-Pei ",
            "Shiba Inu ",
            "Smooth Collie",
            "Staffordshire Bull Terrier",
            "Teckel",
            "Terra-nova ",
            "Terrier Australiano",
            "Terrier Escocês ",
            "Terrier Irlandês ",
            "Terrier Japonês",
            "Terrier Negro Russo",
            "Terrier Norfolk",
            "Terrier Norwich",
            "Terrier Tibetano",
            "Welhs Terrier",
            "West Highland T.",
            "Wolfspitz",
            "Yorkshire Terrier",
            ""});

        }

        private void _carregaRacaGato()
        {
            this.cboRaca.Items.Clear();
            this.cboRaca.Text = "";
            this.cboRaca.Items.AddRange(new object[] {
            "Abissínio",
            "Angorá turco",
            "American curl.",
            "American Shorthair.",
            "American wirehair",
            "Azul ruso",
            "Balinês",
            "Bengal",
            "Bobtail Japonês",
            "Bombay",
            "British Shorthair",
            "Burmês",
            "Burmês Europeu",
            "California spangled",
            "Chartreux",
            "Cornish rex",
            "Devon Rex",
            "Exótico",
            "Habana",
            "Himalayan",
            "Javanês",
            "Korat",
            "Maine coon",
            "Manx",
            "Mau Egípcio\tN",
            "Nibelungo",
            "Noruega da floresta",
            "Ocicat",
            "Oriental de pêlo curto",
            "Persa",
            "Ragamuffin",
            "Ragdoll",
            "Sagrado da Birmânia",
            "Scottish fold",
            "Sem Raça Definida",
            "Selkirk rex",
            "Siamês",
            "Singapur",
            "Shorthair Americano",
            "Shorthair Britânico",
            "Shorthair Exótico",
            "Snowshoe",
            "Somali",
            "Sphynx",
            "Tiffanie",
            "Tonquinês.",
            "Van turco.",
            ""});
        }

        private void cboEspecie_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (cboEspecie.Text == "Cachorro")
            {
                _carregaComboRacaCachorro();
            }
            if (cboEspecie.Text == "Gato")
            {
                _carregaRacaGato();
            }
        }

    }
}
